// function sayHello(person:string){
//     return 'Hello ' + person
// }
// let user = 'Waston'
// let x: [string, number]
// // x = ['nos', 19]
// x = ['hello', 10];
// // x[3] = 'world'; 
// // console.log(x[5].toString());
// // document.write(x[3])
// // console.log(x[1].substr(1))
// // console.log(sayHello(user))
// // document.body.innerHTML = sayHello(user);
// // enum color {Red=2,Green,Blue} 
// // let c :color = color.Blue
// // let cn :string= color[3]
// // let anc :any = 'Tom'
// // let obj:　Object = 3
// // console.log(obj)
// // console.log(anc.firstName)
// // console.log(c)
// // console.log(cn)
// // let arra : any[]=[1,'2990','sac',true]
// // arra[1] = 1000
// // console.log(arra)
// function sumMatrix(matrix: number[][]) {
//     let sum = 0;
//     for (let i = 0; i < matrix.length; i++) {
//         var currentRow = matrix[i];
//         for (let i = 0; i < currentRow.length; i++) {
//             sum += currentRow[i];
//         }
//     }
function createClock(ctor, hour, minute) {
    return new ctor(hour, minute);
}
var DigitalClock = /** @class */ (function () {
    function DigitalClock(h, m) {
    }
    DigitalClock.prototype.tick = function () {
        console.log("beep beep");
    };
    return DigitalClock;
}());
var AnalogClock = /** @class */ (function () {
    function AnalogClock(h, m) {
    }
    AnalogClock.prototype.tick = function () {
        console.log("tick tock");
    };
    return AnalogClock;
}());
var digital = createClock(DigitalClock, 12, 17);
var analog = createClock(AnalogClock, 7, 32);
console.log(digital);
console.log(analog);
